import {
  createStore,
  applyMiddleware,
} from 'redux'


import combinedReducers from './reducers/index'

// 中间件
import {
  routerMiddleware, // 通过派发动作的方式跳转路径
  createReduxHistory, // 用于创建一个 redux 版本的 history 历史对象
} from './history'

export const store = applyMiddleware(routerMiddleware)(createStore)(combinedReducers)

// 获取一个 redux 版本的 history 历史对象
// 原始的 history 对象操作的是 history 或 hash 
// redux 版本的 history 对象操作的是 redux 的 state
export const history = createReduxHistory(store)

// 用于在浏览器控制台中测试 store
window.store = store
